From: Carlos Soriano Date: Thu, 12 Sep 2013 15:20:07 +0000 (+0200) Subject: appDisplay: Change pages with page down/up keys X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~3418 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=7b7c4568b2d9a605d7344d5e5da55c1082e8f221;p=gnome-shell.git appDisplay: Change pages with page down/up keys Add key bindings to app picker to allow change pages using the page up/down keys. https://bugzilla.gnome.org/show_bug.cgi?id=707979 --- diff --git a/js/ui/appDisplay.js b/js/ui/appDisplay.js index e3545b099..262b46a93 100644 --- a/js/ui/appDisplay.js +++ b/js/ui/appDisplay.js @@ -335,6 +335,19 @@ const AllView = new Lang.Class({ function() { this._displayingPopup = false; })); + + this.actor.connect('notify::mapped', Lang.bind(this, + function() { + if (this.actor.mapped) { + this._keyPressEventId = + global.stage.connect('key-press-event', + Lang.bind(this, this._onKeyPressEvent)); + } else { + if (this._keyPressEventId) + global.stage.disconnect(this._keyPressEventId); + this._keyPressEventId = 0; + } + })); }, getCurrentPageY: function() { @@ -441,6 +454,21 @@ const AllView = new Lang.Class({ this._panning = false; }, + _onKeyPressEvent: function(actor, event) { + if (this._displayingPopup) + return true; + + if (event.get_key_symbol() == Clutter.Page_Up) { + this.goToPage(this._currentPage - 1); + return true; + } else if (event.get_key_symbol() == Clutter.Page_Down) { + this.goToPage(this._currentPage + 1); + return true; + } + + return false; + }, + _getItemId: function(item) { if (item instanceof Shell.App) return item.get_id();